package com.ourteam.workspace.dao;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;
import org.apache.commons.lang.StringUtils;

/**
 * Template Name : DAO查询对象 Template Version : 1 Template Last Modfiy Date : Sat Aug 19 10:06:32 CST
 * 2017 Auto Generate Date : 2018-11-30 18:42:32 Warning ! This file will be overwrite when
 * regenerate !
 */
public class WorkspaceProductDatabaseModelRelateDAOQueryBean extends BaseQueryBean {

  public WorkspaceProductDatabaseModelRelateDAOQueryBean() {
    super();
  }

  public WorkspaceProductDatabaseModelRelateDAOQueryBean(BaseQueryBean aQueryBean) {
    super(aQueryBean);
  }

  public WorkspaceProductDatabaseModelRelateDAOQueryBean(
      BaseQueryBean aQueryBean, Map tableReplaceMap) {
    super(aQueryBean, tableReplaceMap);
  }

  public Criteria createCriteria() {

    Criteria criteria = createCriteriaInternal();
    if (oredCriteria.size() == 0) {
      oredCriteria.add(criteria);
    }
    return criteria;
  }

  protected Criteria createCriteriaInternal() {
    return new Criteria(this);
  }

  public void addIdSelectProperty() {
    addIdSelectProperty("id");
  }

  public void addIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.Id, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.Id, "id");
    }
  }

  public void addWorkspaceProductDatabaseRelateIdSelectProperty() {
    addWorkspaceProductDatabaseRelateIdSelectProperty("workspaceProductDatabaseRelateId");
  }

  public void addWorkspaceProductDatabaseRelateIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId, aAlias);
    } else {
      addSelectProperty(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId,
          "workspaceProductDatabaseRelateId");
    }
  }

  public void addModelPcakageIdSelectProperty() {
    addModelPcakageIdSelectProperty("modelPcakageId");
  }

  public void addModelPcakageIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId, "modelPcakageId");
    }
  }

  public void addLastUpdateTimeSelectProperty() {
    addLastUpdateTimeSelectProperty("lastUpdateTime");
  }

  public void addLastUpdateTimeSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime, "lastUpdateTime");
    }
  }

  public void addSubmitterIdSelectProperty() {
    addSubmitterIdSelectProperty("submitterId");
  }

  public void addSubmitterIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId, "submitterId");
    }
  }

  public void addSubmitterNameSelectProperty() {
    addSubmitterNameSelectProperty("submitterName");
  }

  public void addSubmitterNameSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName, "submitterName");
    }
  }

  public void addStatusSelectProperty() {
    addStatusSelectProperty("status");
  }

  public void addStatusSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.Status, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.Status, "status");
    }
  }

  public void addRemarksSelectProperty() {
    addRemarksSelectProperty("remarks");
  }

  public void addRemarksSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.Remarks, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.Remarks, "remarks");
    }
  }

  public void addPackageNameSelectProperty() {
    addPackageNameSelectProperty("packageName");
  }

  public void addPackageNameSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.PackageName, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.PackageName, "packageName");
    }
  }

  public void addDomainIdSelectProperty() {
    addDomainIdSelectProperty("domainId");
  }

  public void addDomainIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.DomainId, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.DomainId, "domainId");
    }
  }

  public void addDomainNameSelectProperty() {
    addDomainNameSelectProperty("domainName");
  }

  public void addDomainNameSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.DomainName, aAlias);
    } else {
      addSelectProperty(IWorkspaceProductDatabaseModelRelateDAO.DomainName, "domainName");
    }
  }

  public void addAllSelectProperties() {

    addIdSelectProperty();

    addWorkspaceProductDatabaseRelateIdSelectProperty();

    addModelPcakageIdSelectProperty();

    addLastUpdateTimeSelectProperty();

    addSubmitterIdSelectProperty();

    addSubmitterNameSelectProperty();

    addStatusSelectProperty();

    addRemarksSelectProperty();

    addPackageNameSelectProperty();

    addDomainIdSelectProperty();

    addDomainNameSelectProperty();
  }

  public static class Criteria
      extends BaseWhereCriterion<WorkspaceProductDatabaseModelRelateDAOQueryBean> {

    protected Criteria(WorkspaceProductDatabaseModelRelateDAOQueryBean aParentObject) {
      super(aParentObject);
    }

    public Criteria andIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " is null");
      return this;
    }

    public Criteria andIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " is not null");
      return this;
    }

    public Criteria andIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Id
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.Id
              + " <> ''");
      return this;
    }

    public Criteria andIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.Id
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.Id
              + " = '')");
      return this;
    }

    public Criteria andIdEqualTo(long value) {
      return andIdEqualTo(Long.valueOf(value));
    }

    public Criteria andIdEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " = ", value, "id");
      return this;
    }

    public Criteria andIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Id);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotEqualTo(long value) {
      return andIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andIdNotEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " <>", value, "id");
      return this;
    }

    public Criteria andIdNotEqualToOrIsNull(long value) {
      return andIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Id
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.Id
              + " <>",
          value,
          "id");
      return this;
    }

    public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Id);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThan(long value) {
      return andIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andIdGreaterThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " >", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Id);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(long value) {
      return andIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " >=", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Id);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThan(long value) {
      return andIdLessThan(Long.valueOf(value));
    }

    public Criteria andIdLessThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " <", value, "id");
      return this;
    }

    public Criteria andIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Id);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(long value) {
      return andIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " <=", value, "id");
      return this;
    }

    public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Id);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdIn(long[] values) {
      if (values.length == 1) {
        return andIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andIdEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.Id + " in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.Id + " not in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdBetween(long value1, long value2) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIsNull() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " is null");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIsNotNull() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId
              + " is not null");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId
              + " <> ''");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId
              + " = '')");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdEqualTo(long value) {
      return andWorkspaceProductDatabaseRelateIdEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceProductDatabaseRelateIdEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " = ",
          value,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str =
          new StringBuffer(
              IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " = ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotEqualTo(long value) {
      return andWorkspaceProductDatabaseRelateIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " <>",
          value,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotEqualToOrIsNull(long value) {
      return andWorkspaceProductDatabaseRelateIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId
              + " <>",
          value,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str =
          new StringBuffer(
              IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " <> ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThan(long value) {
      return andWorkspaceProductDatabaseRelateIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " >",
          value,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str =
          new StringBuffer(
              IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " > ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThanOrEqualTo(long value) {
      return andWorkspaceProductDatabaseRelateIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " >=",
          value,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThanOrEqualToForeignKey(
        java.lang.String key) {
      StringBuffer str =
          new StringBuffer(
              IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " >= ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThan(long value) {
      return andWorkspaceProductDatabaseRelateIdLessThan(Long.valueOf(value));
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " <",
          value,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str =
          new StringBuffer(
              IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " < ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThanOrEqualTo(long value) {
      return andWorkspaceProductDatabaseRelateIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " <=",
          value,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThanOrEqualToForeignKey(
        java.lang.String key) {
      StringBuffer str =
          new StringBuffer(
              IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " <= ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIn(long[] values) {
      if (values.length == 1) {
        return andWorkspaceProductDatabaseRelateIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " in",
            values,
            "workspaceProductDatabaseRelateId");
        return this;
      }
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotIn(long[] values) {
      if (values.length == 1) {
        return andWorkspaceProductDatabaseRelateIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " not in",
            values,
            "workspaceProductDatabaseRelateId");
        return this;
      }
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andWorkspaceProductDatabaseRelateIdEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " in",
            values,
            "workspaceProductDatabaseRelateId");
        return this;
      }
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andWorkspaceProductDatabaseRelateIdNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " not in",
            values,
            "workspaceProductDatabaseRelateId");
        return this;
      }
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andWorkspaceProductDatabaseRelateIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " in",
            Arrays.asList(values),
            "workspaceProductDatabaseRelateId");
        return this;
      }
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andWorkspaceProductDatabaseRelateIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " not in",
            Arrays.asList(values),
            "workspaceProductDatabaseRelateId");
        return this;
      }
    }

    public Criteria andWorkspaceProductDatabaseRelateIdIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " in ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " not in ",
          subQueryBean,
          dao);
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " between",
          value1,
          value2,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdBetween(
        java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " between",
          value1,
          value2,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " not between",
          value1,
          value2,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andWorkspaceProductDatabaseRelateIdNotBetween(
        java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.WorkspaceProductDatabaseRelateId + " not between",
          value1,
          value2,
          "workspaceProductDatabaseRelateId");
      return this;
    }

    public Criteria andModelPcakageIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " is null");
      return this;
    }

    public Criteria andModelPcakageIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " is not null");
      return this;
    }

    public Criteria andModelPcakageIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId
              + " <> ''");
      return this;
    }

    public Criteria andModelPcakageIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId
              + " = '')");
      return this;
    }

    public Criteria andModelPcakageIdEqualTo(long value) {
      return andModelPcakageIdEqualTo(Long.valueOf(value));
    }

    public Criteria andModelPcakageIdEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " = ", value, "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andModelPcakageIdEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdNotEqualTo(long value) {
      return andModelPcakageIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andModelPcakageIdNotEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " <>", value, "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdNotEqualToOrIsNull(long value) {
      return andModelPcakageIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andModelPcakageIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId
              + " <>",
          value,
          "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andModelPcakageIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdGreaterThan(long value) {
      return andModelPcakageIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andModelPcakageIdGreaterThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " >", value, "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andModelPcakageIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdGreaterThanOrEqualTo(long value) {
      return andModelPcakageIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andModelPcakageIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " >=", value, "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andModelPcakageIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdLessThan(long value) {
      return andModelPcakageIdLessThan(Long.valueOf(value));
    }

    public Criteria andModelPcakageIdLessThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " <", value, "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andModelPcakageIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdLessThanOrEqualTo(long value) {
      return andModelPcakageIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andModelPcakageIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " <=", value, "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andModelPcakageIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdIn(long[] values) {
      if (values.length == 1) {
        return andModelPcakageIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " in",
            values,
            "modelPcakageId");
        return this;
      }
    }

    public Criteria andModelPcakageIdNotIn(long[] values) {
      if (values.length == 1) {
        return andModelPcakageIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " not in",
            values,
            "modelPcakageId");
        return this;
      }
    }

    public Criteria andModelPcakageIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andModelPcakageIdEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " in",
            values,
            "modelPcakageId");
        return this;
      }
    }

    public Criteria andModelPcakageIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andModelPcakageIdNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " not in",
            values,
            "modelPcakageId");
        return this;
      }
    }

    public Criteria andModelPcakageIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andModelPcakageIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " in",
            Arrays.asList(values),
            "modelPcakageId");
        return this;
      }
    }

    public Criteria andModelPcakageIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andModelPcakageIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " not in",
            Arrays.asList(values),
            "modelPcakageId");
        return this;
      }
    }

    public Criteria andModelPcakageIdIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andModelPcakageIdBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " between",
          value1,
          value2,
          "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " between",
          value1,
          value2,
          "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdNotBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " not between",
          value1,
          value2,
          "modelPcakageId");
      return this;
    }

    public Criteria andModelPcakageIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.ModelPcakageId + " not between",
          value1,
          value2,
          "modelPcakageId");
      return this;
    }

    public Criteria andLastUpdateTimeIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " is null");
      return this;
    }

    public Criteria andLastUpdateTimeIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " is not null");
      return this;
    }

    public Criteria andLastUpdateTimeIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime
              + " <> ''");
      return this;
    }

    public Criteria andLastUpdateTimeIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime
              + " = '')");
      return this;
    }

    public Criteria andLastUpdateTimeEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " = ", value, "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastUpdateTimeEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeNotEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " <>", value, "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeNotEqualToOrIsNull(java.util.Date value) {

      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime
              + " <>",
          value,
          "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastUpdateTimeNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeGreaterThan(java.util.Date value) {

      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " >", value, "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastUpdateTimeGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeGreaterThanOrEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " >=", value, "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastUpdateTimeGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeLessThan(java.util.Date value) {

      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " <", value, "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastUpdateTimeLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeLessThanOrEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " <=", value, "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastUpdateTimeLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeIn(List<java.util.Date> values) {

      if (values.size() == 1) {
        return andLastUpdateTimeEqualTo(values.get(0));
      } else {
        addCriterionForJDBCDate(
            IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " in",
            values,
            "lastUpdateTime");
        return this;
      }
    }

    public Criteria andLastUpdateTimeNotIn(List<java.util.Date> values) {
      if (values.size() == 1) {
        return andLastUpdateTimeNotEqualTo(values.get(0));
      } else {
        addCriterionForJDBCDate(
            IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " not in",
            values,
            "lastUpdateTime");
        return this;
      }
    }

    public Criteria andLastUpdateTimeIn(java.util.Date[] values) {

      if (values.length == 1) {
        return andLastUpdateTimeEqualTo(values[0]);
      } else {
        addCriterionForJDBCDate(
            IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " in",
            Arrays.asList(values),
            "lastUpdateTime");
        return this;
      }
    }

    public Criteria andLastUpdateTimeNotIn(java.util.Date[] values) {
      if (values.length == 1) {
        return andLastUpdateTimeNotEqualTo(values[0]);
      } else {
        addCriterionForJDBCDate(
            IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " not in",
            Arrays.asList(values),
            "lastUpdateTime");
        return this;
      }
    }

    public Criteria andLastUpdateTimeIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastUpdateTimeBetween(java.util.Date value1, java.util.Date value2) {
      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " between",
          value1,
          value2,
          "lastUpdateTime");
      return this;
    }

    public Criteria andLastUpdateTimeNotBetween(java.util.Date value1, java.util.Date value2) {
      addCriterionForJDBCDate(
          IWorkspaceProductDatabaseModelRelateDAO.LastUpdateTime + " not between",
          value1,
          value2,
          "lastUpdateTime");
      return this;
    }

    public Criteria andSubmitterIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " is null");
      return this;
    }

    public Criteria andSubmitterIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " is not null");
      return this;
    }

    public Criteria andSubmitterIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterId
              + " <> ''");
      return this;
    }

    public Criteria andSubmitterIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterId
              + " = '')");
      return this;
    }

    public Criteria andSubmitterIdEqualTo(long value) {
      return andSubmitterIdEqualTo(Long.valueOf(value));
    }

    public Criteria andSubmitterIdEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " = ", value, "submitterId");
      return this;
    }

    public Criteria andSubmitterIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterIdEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdNotEqualTo(long value) {
      return andSubmitterIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andSubmitterIdNotEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " <>", value, "submitterId");
      return this;
    }

    public Criteria andSubmitterIdNotEqualToOrIsNull(long value) {
      return andSubmitterIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andSubmitterIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterId
              + " <>",
          value,
          "submitterId");
      return this;
    }

    public Criteria andSubmitterIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdGreaterThan(long value) {
      return andSubmitterIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andSubmitterIdGreaterThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " >", value, "submitterId");
      return this;
    }

    public Criteria andSubmitterIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdGreaterThanOrEqualTo(long value) {
      return andSubmitterIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andSubmitterIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " >=", value, "submitterId");
      return this;
    }

    public Criteria andSubmitterIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdLessThan(long value) {
      return andSubmitterIdLessThan(Long.valueOf(value));
    }

    public Criteria andSubmitterIdLessThan(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " <", value, "submitterId");
      return this;
    }

    public Criteria andSubmitterIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdLessThanOrEqualTo(long value) {
      return andSubmitterIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andSubmitterIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " <=", value, "submitterId");
      return this;
    }

    public Criteria andSubmitterIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdIn(long[] values) {
      if (values.length == 1) {
        return andSubmitterIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " in", values, "submitterId");
        return this;
      }
    }

    public Criteria andSubmitterIdNotIn(long[] values) {
      if (values.length == 1) {
        return andSubmitterIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " not in", values, "submitterId");
        return this;
      }
    }

    public Criteria andSubmitterIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andSubmitterIdEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " in", values, "submitterId");
        return this;
      }
    }

    public Criteria andSubmitterIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andSubmitterIdNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " not in", values, "submitterId");
        return this;
      }
    }

    public Criteria andSubmitterIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andSubmitterIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " in",
            Arrays.asList(values),
            "submitterId");
        return this;
      }
    }

    public Criteria andSubmitterIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andSubmitterIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " not in",
            Arrays.asList(values),
            "submitterId");
        return this;
      }
    }

    public Criteria andSubmitterIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterIdBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " between",
          value1,
          value2,
          "submitterId");
      return this;
    }

    public Criteria andSubmitterIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " between",
          value1,
          value2,
          "submitterId");
      return this;
    }

    public Criteria andSubmitterIdNotBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " not between",
          value1,
          value2,
          "submitterId");
      return this;
    }

    public Criteria andSubmitterIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterId + " not between",
          value1,
          value2,
          "submitterId");
      return this;
    }

    public Criteria andSubmitterNameIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " is null");
      return this;
    }

    public Criteria andSubmitterNameIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " is not null");
      return this;
    }

    public Criteria andSubmitterNameIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterName
              + " <> ''");
      return this;
    }

    public Criteria andSubmitterNameIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterName
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterName
              + " = '')");
      return this;
    }

    public Criteria andSubmitterNameEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " = ", value, "submitterName");
      return this;
    }

    public Criteria andSubmitterNameEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterNameEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameNotEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " <>", value, "submitterName");
      return this;
    }

    public Criteria andSubmitterNameNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.SubmitterName
              + " <>",
          value,
          "submitterName");
      return this;
    }

    public Criteria andSubmitterNameNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterNameNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameGreaterThan(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " >", value, "submitterName");
      return this;
    }

    public Criteria andSubmitterNameGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterNameGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameGreaterThanOrEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " >=", value, "submitterName");
      return this;
    }

    public Criteria andSubmitterNameGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterNameGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameLessThan(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " <", value, "submitterName");
      return this;
    }

    public Criteria andSubmitterNameLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterNameLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameLessThanOrEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " <=", value, "submitterName");
      return this;
    }

    public Criteria andSubmitterNameLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.SubmitterName);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSubmitterNameLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " like",
          buffer.toString(),
          "submitterName");
      return this;
    }

    public Criteria andSubmitterNameNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " not like",
          buffer.toString(),
          "submitterName");
      return this;
    }

    public Criteria andSubmitterNameIn(List<String> values) {

      if (values.size() == 1) {
        return andSubmitterNameEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " in", values, "submitterName");
        return this;
      }
    }

    public Criteria andSubmitterNameNotIn(List<String> values) {
      if (values.size() == 1) {
        return andSubmitterNameNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " not in",
            values,
            "submitterName");
        return this;
      }
    }

    public Criteria andSubmitterNameIn(String[] values) {

      if (values.length == 1) {
        return andSubmitterNameEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " in",
            Arrays.asList(values),
            "submitterName");
        return this;
      }
    }

    public Criteria andSubmitterNameNotIn(String[] values) {
      if (values.length == 1) {
        return andSubmitterNameNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " not in",
            Arrays.asList(values),
            "submitterName");
        return this;
      }
    }

    public Criteria andSubmitterNameIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSubmitterNameBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " between",
          value1,
          value2,
          "submitterName");
      return this;
    }

    public Criteria andSubmitterNameNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.SubmitterName + " not between",
          value1,
          value2,
          "submitterName");
      return this;
    }

    public Criteria andStatusIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " is null");
      return this;
    }

    public Criteria andStatusIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " is not null");
      return this;
    }

    public Criteria andStatusIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Status
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.Status
              + " <> ''");
      return this;
    }

    public Criteria andStatusIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.Status
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.Status
              + " = '')");
      return this;
    }

    public Criteria andStatusEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " = ", value, "status");
      return this;
    }

    public Criteria andStatusEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Status);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " <>", value, "status");
      return this;
    }

    public Criteria andStatusNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Status
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.Status
              + " <>",
          value,
          "status");
      return this;
    }

    public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Status);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " >", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Status);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " >=", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Status);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " <", value, "status");
      return this;
    }

    public Criteria andStatusLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Status);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " <=", value, "status");
      return this;
    }

    public Criteria andStatusLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Status);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Status + " like", buffer.toString(), "status");
      return this;
    }

    public Criteria andStatusNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Status + " not like",
          buffer.toString(),
          "status");
      return this;
    }

    public Criteria andStatusIn(List<String> values) {

      if (values.size() == 1) {
        return andStatusEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " in", values, "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(List<String> values) {
      if (values.size() == 1) {
        return andStatusNotEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " not in", values, "status");
        return this;
      }
    }

    public Criteria andStatusIn(String[] values) {

      if (values.length == 1) {
        return andStatusEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.Status + " in",
            Arrays.asList(values),
            "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(String[] values) {
      if (values.length == 1) {
        return andStatusNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.Status + " not in",
            Arrays.asList(values),
            "status");
        return this;
      }
    }

    public Criteria andStatusIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Status + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Status + " between", value1, value2, "status");
      return this;
    }

    public Criteria andStatusNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Status + " not between",
          value1,
          value2,
          "status");
      return this;
    }

    public Criteria andRemarksIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " is null");
      return this;
    }

    public Criteria andRemarksIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " is not null");
      return this;
    }

    public Criteria andRemarksIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Remarks
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.Remarks
              + " <> ''");
      return this;
    }

    public Criteria andRemarksIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.Remarks
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.Remarks
              + " = '')");
      return this;
    }

    public Criteria andRemarksEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " = ", value, "remarks");
      return this;
    }

    public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Remarks);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " <>", value, "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Remarks
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.Remarks
              + " <>",
          value,
          "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Remarks);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " >", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Remarks);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " >=", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Remarks);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " <", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Remarks);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " <=", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.Remarks);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Remarks + " like", buffer.toString(), "remarks");
      return this;
    }

    public Criteria andRemarksNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Remarks + " not like",
          buffer.toString(),
          "remarks");
      return this;
    }

    public Criteria andRemarksIn(List<String> values) {

      if (values.size() == 1) {
        return andRemarksEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(List<String> values) {
      if (values.size() == 1) {
        return andRemarksNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.Remarks + " not in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(String[] values) {

      if (values.length == 1) {
        return andRemarksEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.Remarks + " in",
            Arrays.asList(values),
            "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(String[] values) {
      if (values.length == 1) {
        return andRemarksNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.Remarks + " not in",
            Arrays.asList(values),
            "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.Remarks + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Remarks + " between", value1, value2, "remarks");
      return this;
    }

    public Criteria andRemarksNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.Remarks + " not between",
          value1,
          value2,
          "remarks");
      return this;
    }

    public Criteria andPackageNameIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " is null");
      return this;
    }

    public Criteria andPackageNameIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " is not null");
      return this;
    }

    public Criteria andPackageNameIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.PackageName
              + " <> ''");
      return this;
    }

    public Criteria andPackageNameIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.PackageName
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.PackageName
              + " = '')");
      return this;
    }

    public Criteria andPackageNameEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " = ", value, "packageName");
      return this;
    }

    public Criteria andPackageNameEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.PackageName);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andPackageNameEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameNotEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " <>", value, "packageName");
      return this;
    }

    public Criteria andPackageNameNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.PackageName
              + " <>",
          value,
          "packageName");
      return this;
    }

    public Criteria andPackageNameNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.PackageName);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andPackageNameNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameGreaterThan(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " >", value, "packageName");
      return this;
    }

    public Criteria andPackageNameGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.PackageName);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andPackageNameGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameGreaterThanOrEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " >=", value, "packageName");
      return this;
    }

    public Criteria andPackageNameGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.PackageName);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andPackageNameGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameLessThan(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " <", value, "packageName");
      return this;
    }

    public Criteria andPackageNameLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.PackageName);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andPackageNameLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameLessThanOrEqualTo(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " <=", value, "packageName");
      return this;
    }

    public Criteria andPackageNameLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.PackageName);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andPackageNameLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " like",
          buffer.toString(),
          "packageName");
      return this;
    }

    public Criteria andPackageNameNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " not like",
          buffer.toString(),
          "packageName");
      return this;
    }

    public Criteria andPackageNameIn(List<String> values) {

      if (values.size() == 1) {
        return andPackageNameEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.PackageName + " in", values, "packageName");
        return this;
      }
    }

    public Criteria andPackageNameNotIn(List<String> values) {
      if (values.size() == 1) {
        return andPackageNameNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.PackageName + " not in", values, "packageName");
        return this;
      }
    }

    public Criteria andPackageNameIn(String[] values) {

      if (values.length == 1) {
        return andPackageNameEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.PackageName + " in",
            Arrays.asList(values),
            "packageName");
        return this;
      }
    }

    public Criteria andPackageNameNotIn(String[] values) {
      if (values.length == 1) {
        return andPackageNameNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.PackageName + " not in",
            Arrays.asList(values),
            "packageName");
        return this;
      }
    }

    public Criteria andPackageNameIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.PackageName + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andPackageNameBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " between",
          value1,
          value2,
          "packageName");
      return this;
    }

    public Criteria andPackageNameNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.PackageName + " not between",
          value1,
          value2,
          "packageName");
      return this;
    }

    public Criteria andDomainIdIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " is null");
      return this;
    }

    public Criteria andDomainIdIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " is not null");
      return this;
    }

    public Criteria andDomainIdIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainId
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.DomainId
              + " <> ''");
      return this;
    }

    public Criteria andDomainIdIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.DomainId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.DomainId
              + " = '')");
      return this;
    }

    public Criteria andDomainIdEqualTo(long value) {
      return andDomainIdEqualTo(Long.valueOf(value));
    }

    public Criteria andDomainIdEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " = ", value, "domainId");
      return this;
    }

    public Criteria andDomainIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdNotEqualTo(long value) {
      return andDomainIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andDomainIdNotEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " <>", value, "domainId");
      return this;
    }

    public Criteria andDomainIdNotEqualToOrIsNull(long value) {
      return andDomainIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andDomainIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainId
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.DomainId
              + " <>",
          value,
          "domainId");
      return this;
    }

    public Criteria andDomainIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdGreaterThan(long value) {
      return andDomainIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andDomainIdGreaterThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " >", value, "domainId");
      return this;
    }

    public Criteria andDomainIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdGreaterThanOrEqualTo(long value) {
      return andDomainIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andDomainIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " >=", value, "domainId");
      return this;
    }

    public Criteria andDomainIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdLessThan(long value) {
      return andDomainIdLessThan(Long.valueOf(value));
    }

    public Criteria andDomainIdLessThan(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " <", value, "domainId");
      return this;
    }

    public Criteria andDomainIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdLessThanOrEqualTo(long value) {
      return andDomainIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andDomainIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " <=", value, "domainId");
      return this;
    }

    public Criteria andDomainIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdIn(long[] values) {
      if (values.length == 1) {
        return andDomainIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " in", values, "domainId");
        return this;
      }
    }

    public Criteria andDomainIdNotIn(long[] values) {
      if (values.length == 1) {
        return andDomainIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainId + " not in", values, "domainId");
        return this;
      }
    }

    public Criteria andDomainIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andDomainIdEqualTo(values.get(0));
      } else {
        addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " in", values, "domainId");
        return this;
      }
    }

    public Criteria andDomainIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andDomainIdNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainId + " not in", values, "domainId");
        return this;
      }
    }

    public Criteria andDomainIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andDomainIdEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainId + " in",
            Arrays.asList(values),
            "domainId");
        return this;
      }
    }

    public Criteria andDomainIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andDomainIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainId + " not in",
            Arrays.asList(values),
            "domainId");
        return this;
      }
    }

    public Criteria andDomainIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainIdBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainId + " between",
          value1,
          value2,
          "domainId");
      return this;
    }

    public Criteria andDomainIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainId + " between",
          value1,
          value2,
          "domainId");
      return this;
    }

    public Criteria andDomainIdNotBetween(long value1, long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainId + " not between",
          value1,
          value2,
          "domainId");
      return this;
    }

    public Criteria andDomainIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainId + " not between",
          value1,
          value2,
          "domainId");
      return this;
    }

    public Criteria andDomainNameIsNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " is null");
      return this;
    }

    public Criteria andDomainNameIsNotNull() {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " is not null");
      return this;
    }

    public Criteria andDomainNameIsNotEmpty() {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainName
              + " is not null AND "
              + IWorkspaceProductDatabaseModelRelateDAO.DomainName
              + " <> ''");
      return this;
    }

    public Criteria andDomainNameIsEmpty() {
      addCriterion(
          "("
              + IWorkspaceProductDatabaseModelRelateDAO.DomainName
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.DomainName
              + " = '')");
      return this;
    }

    public Criteria andDomainNameEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " = ", value, "domainName");
      return this;
    }

    public Criteria andDomainNameEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainName);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainNameEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameNotEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " <>", value, "domainName");
      return this;
    }

    public Criteria andDomainNameNotEqualToOrIsNull(String value) {

      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainName
              + " is null OR "
              + IWorkspaceProductDatabaseModelRelateDAO.DomainName
              + " <>",
          value,
          "domainName");
      return this;
    }

    public Criteria andDomainNameNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainName);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainNameNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameGreaterThan(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " >", value, "domainName");
      return this;
    }

    public Criteria andDomainNameGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainName);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainNameGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameGreaterThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " >=", value, "domainName");
      return this;
    }

    public Criteria andDomainNameGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainName);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainNameGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameLessThan(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " <", value, "domainName");
      return this;
    }

    public Criteria andDomainNameLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainName);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainNameLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameLessThanOrEqualTo(String value) {

      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " <=", value, "domainName");
      return this;
    }

    public Criteria andDomainNameLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IWorkspaceProductDatabaseModelRelateDAO.DomainName);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDomainNameLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainName + " like",
          buffer.toString(),
          "domainName");
      return this;
    }

    public Criteria andDomainNameNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainName + " not like",
          buffer.toString(),
          "domainName");
      return this;
    }

    public Criteria andDomainNameIn(List<String> values) {

      if (values.size() == 1) {
        return andDomainNameEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainName + " in", values, "domainName");
        return this;
      }
    }

    public Criteria andDomainNameNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDomainNameNotEqualTo(values.get(0));
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainName + " not in", values, "domainName");
        return this;
      }
    }

    public Criteria andDomainNameIn(String[] values) {

      if (values.length == 1) {
        return andDomainNameEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainName + " in",
            Arrays.asList(values),
            "domainName");
        return this;
      }
    }

    public Criteria andDomainNameNotIn(String[] values) {
      if (values.length == 1) {
        return andDomainNameNotEqualTo(values[0]);
      } else {
        addCriterion(
            IWorkspaceProductDatabaseModelRelateDAO.DomainName + " not in",
            Arrays.asList(values),
            "domainName");
        return this;
      }
    }

    public Criteria andDomainNameIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IWorkspaceProductDatabaseModelRelateDAO.DomainName + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainName + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDomainNameBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainName + " between",
          value1,
          value2,
          "domainName");
      return this;
    }

    public Criteria andDomainNameNotBetween(String value1, String value2) {
      addCriterion(
          IWorkspaceProductDatabaseModelRelateDAO.DomainName + " not between",
          value1,
          value2,
          "domainName");
      return this;
    }
  }
}
